package com.ctshk.rpc.order.ship.dto;

import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 船票订单
 * </p>
 *
 * @author 刘蕾
 * @since 2021-03-16
 */
@Data
@ApiModel(value = "ShipOrder对象", description = "船票订单")
public class ShipOrderPageDTO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "航线id")
    private Long routeId;

    @ApiModelProperty(value = "行程类型")
    private String tripType;

    @ApiModelProperty(value = "船票产品id,多个逗号分隔")
    private String productId;

    @ApiModelProperty(value = "订单总额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "销售单号")
    private String orderNumber;

    @ApiModelProperty(value = "付款状态")
    private Integer paymentStatus;

    @ApiModelProperty(value = "预订状态")
    private Integer scheduledStatus;

    @ApiModelProperty(value = "取消状态")
    private Integer cancelStatus;

    @ApiModelProperty(value = "产品类型")
    private Integer productType;

    @ApiModelProperty(value = "来源")
    private Integer source;

    @ApiModelProperty(value = "付款到期时间")
    private LocalDateTime payExpireDate;

    @ApiModelProperty(value = "应收金额")
    private BigDecimal receivableAmount;

    @ApiModelProperty(value = "已退款金额")
    private BigDecimal refundedAmount;

    @ApiModelProperty(value = "销售人员id")
    private Long salesmanId;

    @ApiModelProperty(value = "销售人员名称")
    private String salesmanName;

    @ApiModelProperty(value = "出发城市id")
    private Long depCityId;

    @ApiModelProperty(value = "出发城市名称")
    private String depCityName;

    @ApiModelProperty(value = "到达城市id")
    private Long arrCityId;

    @ApiModelProperty(value = "到达城市名称")
    private String arrCityName;

    @ApiModelProperty(value = "出发地id")
    private Long depPlaceId;

    @ApiModelProperty(value = "出发地名称")
    private String depPlaceName;

    @ApiModelProperty(value = "到达地id")
    private Long arrPlaceId;

    @ApiModelProperty(value = "到达地名称")
    private String arrPlaceName;

    @ApiModelProperty(value = "船公司类型")
    private String companyType;

    @ApiModelProperty(value = "航次码")
    private String voyage;

    @ApiModelProperty(value = "船舱等级(1 普通舱 2 高级舱 3 豪华舱)")
    private Integer cabinClass;

    @ApiModelProperty(value = "船舱等级(1 普通舱 2 高级舱 3 豪华舱)")
    private String cabinClassName;

    @ApiModelProperty(value = "航线名称")
    private String routeName;

    @ApiModelProperty(value = "船种名称")
    private String shipTypeName;

    @ApiModelProperty("聯絡人")
    private String contactName;
}
